基于Wave Panel 的HID 设备通讯接口设计 您所在的位置:网站首页 linux hid设备 基于Wave Panel 的HID 设备通讯接口设计

基于Wave Panel 的HID 设备通讯接口设计

#基于Wave Panel 的HID 设备通讯接口设计| 来源: 网络整理| 查看: 265

  2. 2 读报表

  读报表是指HID 设备向主机输入数据.当WavePanel 面板上任意控制器状态发生变化时,都会在下一次轮询时将这些数据生成输入报表,并发送给主机.

  主机上的应用程序接收输入报表并对数据进行解析,然后做出相应的处理.

  由于Wave Panel 可能在任何时候与主机以中断方式进行通讯,因此应用程序需要维护一个异步调用的读报表线程.该线程在Wave Panel 没有向主机输入数据时阻塞,以减轻系统负载.当有数据输入时,线程恢复运行,调用ReadFile()将输入数据保存在缓冲区中,并对数据进行解析.这之后线程将再次被阻塞,直到有新的输入数据到来.应用程序在Wave Panel成功打开后就创建读报表线程,应用程序运行结束前该线程将一直存在.读报表流程如图2 所示.

  2. 3 写报表

  与读报表相反,写报表是指主机向HID 设备输出数据.写报表对延迟的要求较高,但这一功能不是必需的,根据HID 设备的实际用途而定 .鼠标.键盘.游戏杆等较简单的设备只向主机发送数据,这些数据通常是一些控制信息和状态信息 ,例如改变HID 设备液晶屏上的显示信息.控制设备上发光元件的亮灭等.

  应用程序的写报表线程流程与读报表线程类似,首先将要输出的数据按Wave Panel 规定的数据格式进行封装,复制到一个缓冲区内,再调用WriteFile()将缓冲区数据输出到Wave Panel 即可,这些信息主要是与视频帧状态变化相关的信息.

  2. 4 设备关闭

  设备关闭模块功能比较简单.当主机与WavePanel 的通讯结束时,调用CloseHandle( ) 将打开的Wave Panel 关闭即可.

  3 Wave Panel 通讯接口的设计

  以上述通讯过程为基础,设计一个名为CHid-Comm 的通讯接口,其总体框架为:

  其中,成员函数OpenDevice()和CloseDevice()分别用于识别.打开和关闭Wave Panel.ReadReport-Thread()用于创建读报表线程.由于线程为异步方式执行,因此ReadReportThread( ) 在调用ReadFile( ) 时要使用一个OVERLAPPED 结构变量,该变量含有一个I/ O 完成后触发事件的句柄.当HID 设备没有向主机输入数据时,事件处于无信号状态,线程被阻塞;当有数据输入时,事件被触发,线程恢复运行,接收并将数据保存在读报表缓冲区,供数据解析函数使用.WriteReportThread()与ReadReportThread( ) 的功能类似,用于创建写报表线程.

  成员变量VID.PID 和PVN 用于保存三项属性值,ReadBuffer 和WriteBuffer 分别定义读报表缓冲区和写报表缓冲区,其大小由HID 设备的输入报表和输出报表长度决定.S 实际上,该接口不仅可以用于WavePanel,同样也适用于其它HID 设备.只需要重新设置VID.PID 和PVN 值以及ReadBuffer.WriteBuffer 缓冲区的大小,而无须对识别.打开.读写报表等功能进行修改.

  图3 是主机应用程序调用CHidComm 接口实现与Wave Panel 通讯的情况.以十六进制形式输出读报表缓冲区的值,并显示控制器状态变化情况.需要注意的一个重要问题是Wave Panel 输入报表并不使用报表ID,在这种情况下应将读报表缓冲区ReadBuffer 的第0 字节设置为0×00,否则读报表线程将无法接收到输入报表.

  4 结束语

  Wave Panel 是一类较复杂的视频编辑HID 设备,没有提供Windows 环境下的通讯功能.基于WavePanel 对Windows 环境下的HID 设备通讯进行研究,能够解决许多UNIX.Linux.Mac 等操作系统支持的专用HID 设备无法在Windows 环境下使用的问题.较之现有的一些解决方案,设计的CHidComm 接口具有较强的通用性,并可以方便地对功能进行扩展.今后的工作主要是扩展该接口在64 位Windows 环境下的功能.

[1] [2] 关键字:WavePanel  HID设备  通讯接口 编辑:什么鱼 引用地址:http://www.eeworld.com.cn/qrs/2013/0731/article_15045_2.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:一种适用于高速接口电路的新型均衡电路 下一篇:基于SDI 接口的实时图像增强显示系统

关注eeworld公众号 快捷获取更多信息 关注eeworld公众号快捷获取更多信息 关注eeworld服务号 享受更多官方福利 关注eeworld服务号享受更多官方福利

推荐阅读

基于Wave Panel 的HID 设备通讯接口设计   0 引 言   HID(Human Interface Device,人机接口设备)是一类低速USB 设备,典型的HID 设备有键盘.鼠标.游戏杆等.相对于U 盘.打印机等高速USB 设备,HID 设备具有使用方便.响应迅速.研发成本低廉等优点,其应用领域十分广泛.当前HID 设备正在向专用化方向快速发展 .   Wave Panel 是苹果公司研发的视频色彩编辑软件Color 支持一型专用的数据输入和显示HID 设备,该设备面板上设置有按键.解码器和二维跟踪球三种控制器,能够快捷.精确地对各类视频色彩参数进行设置,并将控制和状态信息同步显示在设备微型显示屏上,从而改变了传统“鼠标+键盘”的视频编辑软件控制方式.Wave 发表于 2013-07-31 基于Wave Panel 的HID 设备通讯接口设计 STM32 USB HID设备驱动分析 一、USB HID的设备描述符分析        USB HID的设备描述符用以下结构定义:        Device_Property        DEVICE_PROP Device_Property =        {        CustomHID_init,        CustomHID_Reset, 发表于 2017-09-25 USB自定义HID设备实现-STM32 该文档使用USB固件库,在其基础上进行了自己的定制,完成了一个USB-HID设备,首先是usb_desc.c文件,里面存放了usb各种描述符的存在#include "usb_desc.h" //usb标准设备描述符const u8 DinkUsbDeviceDescriptor[DINK_USB_SIZ_DEVICE_DESC] = {     USB_DEVICE_DESC_SIZE,             //bLength字段 发表于 2017-01-13 USB自定义HID设备实现-LPC1768 ;                 //bMaxPower字段,该设备需要的最大电流量     /*********************第一个接口描述符,hid设备**********************/    USB_INTERFACE_DESC_SIZE,             发表于 2017-01-12 基于Wave Panel的HID设备通讯接口设计   引 言   HID(Human Interface Device,人机接口设备)是一类低速USB 设备,典型的HID 设备有键盘。鼠标。游戏杆等。相对于U 盘。打印机等高速USB 设备,HID 设备具有使用方便。响应迅速。研发成本低廉等优点,其应用领域十分广泛。当前HID 设备正在向专用化方向快速发展 。   Wave Panel 是苹果公司研发的视频色彩编辑软件Color 支持一型专用的数据输入和显示HID 设备,该设备面板上设置有按键。解码器和二维跟踪球三种控制器,能够快捷。精确地对各类视频色彩参数进行设置,并将控制和状态信息同步显示在设备微型显示屏上,从而改变了传统“鼠标+键盘”的视频编辑软件控制方式 发表于 2014-10-23 基于Wave Panel的HID设备通讯接口设计 基于STM32的 USB设计 --单片机程序篇 )b.0-b.3为端点标号*/   0x03, /*端点数据传输方式*/   0x08, /*最大数据包大小*/   0x00,   0x20,   /******************** 端点1输入描述********************/   0x07,   USB_ENDPOINT_DESCRIPTOR_TYPE,   0x01, /*端点地址*/   0x03, /*端点数据传输方式*/   0x40, /*最大数据包大小*/   0x00,   0x20,   }   配置描述符中包括了接口、端点的配置。如果设备为HID设备,在配置描述符中还应加入HID描述,具体描述可以参照 发表于 2012-09-24 热门资源推荐 更多  pdf文件05 HID设备.pdf  rar文件查找USB HID设备  rar文件单片机应用技术选编5  pdf文件CAN485 智能CAN 转换器用户手册  电子工程师自学速成 提高篇 开关变换器的建模与控制 手把手教你学DSP:基于TMS320F28335 新概念模拟电路系列丛书全五册合集


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有